package cn.com.greatwall.common.config;

import java.util.Optional;

import org.springframework.data.domain.AuditorAware;
import org.springframework.stereotype.Component;

import cn.com.greatwall.common.utils.SecurityUtils;

/**
 * @Author herw
 * @Time 2020-11-10 15:41:05
 * @Version 1.0
 * @Description: 设置审计
 */
@Component("auditorAware")
public class AuditorConfig implements AuditorAware<String> {
    /**
     * 返回操作员标志信息
     */
    @Override
    public Optional<String> getCurrentAuditor() {
        try {
            // 这里应根据实际业务情况获取具体信息
            return Optional.of(SecurityUtils.getCurrentUsername());
        } catch (Exception e) {
            // TODO: handle exception
        }
        // 用户定时任务，或者无 Token 调用的情况
        return Optional.of("System");
    }
}
